package com.example.dw.dto;

import lombok.Data;

import jakarta.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 提交考试DTO
 * @author system
 * @since 2024-01-01
 */
@Data
public class ExamSubmitDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 考试ID
     */
    @NotNull(message = "考试ID不能为空")
    private Integer examId;

    /**
     * 用户答案 (题目ID -> 答案)
     */
    private Map<Integer, String> answers;

    /**
     * 考试开始时间（时间戳）
     */
    private Long startTime;

    /**
     * 考试结束时间（时间戳）
     */
    private Long endTime;

    /**
     * 答案详情列表
     */
    private List<AnswerDetail> answerDetails;

    @Data
    public static class AnswerDetail implements Serializable {
        /**
         * 题目ID
         */
        private Integer questionId;

        /**
         * 用户答案
         */
        private String answer;

        /**
         * 是否正确
         */
        private Boolean correct;

        /**
         * 得分
         */
        private Integer score;
    }
} 